package modelo;

import java.util.Vector;
import bean.ProfesorVO;
import bean.MateriaVO;

public class Profesor {

	private static final long serialVersionUID = 1L;
	private int nroLegajo;
	private String nombre;
	private Direccion direccion;
	private Vector <Materia> materias;
	
	 
	public Profesor(){
		
		materias = new Vector<Materia>();
	}
	
	public Profesor(int nroLegajo, String nombre) {
		super();
		materias = new Vector<Materia>();
		this.nombre = nombre;
		this.nroLegajo = nroLegajo;
	}
	
	
	public int getNroLegajo() {
		return nroLegajo;
	}
	public void setNroLegajo(int nroLegajo) {
		this.nroLegajo = nroLegajo;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public Direccion getDireccion() {
		return direccion;
	}
	public void setDireccion(Direccion direccion) {
		this.direccion = direccion;
	}
	
	public Vector<Materia> getMaterias() {
		return materias;
	}

	public void agregarMateria(Materia m){
		materias.add(m);	
	}
	
	public void eliminarMateria(Materia m){
		String numero = m.getNumero();
		for(int i = 0; i<materias.size(); i++){
			Materia aux = materias.elementAt(i);
			if(aux.getNumero().equalsIgnoreCase(numero))
				materias.remove(i);
		}
	}
	
	
	/*
public void eliminarMateria(String nro){
		
		for(int i = 0; i<materias.size(); i++){
			Materia aux = materias.elementAt(i);
			if(aux.getNumero().equalsIgnoreCase(nro))
				materias.remove(i);
		}
		
	}*/
	
public boolean existeMateria(String nro){
		
		boolean salida = false;
		for(int i = 0; i<materias.size(); i++){
			Materia aux = materias.elementAt(i);
			if(aux.getNumero().equalsIgnoreCase(nro))
				salida  = true;		
		}
		return salida;	
	}

	public ProfesorVO getVO(){
	
		ProfesorVO p = new ProfesorVO();
		p.setNroLegajo(this.getNroLegajo());
		p.setNombre(this.getNombre());
		p.setDireccionVO(this.getDireccion().getVO());

		Vector<MateriaVO> materiasVO = new Vector<MateriaVO>();
        for(int i = 0; i < materias.size(); i++)
        	materiasVO.add(materias.elementAt(i).getVO());
        
        p.setMateriasVO(materiasVO);		
		
		return p ;
		
	}

	
public Vector<String> toVector(){
		
		Vector <String> salida = new Vector<String>();
		salida.add(String.valueOf(this.getNroLegajo()));
		salida.add(this.getNombre());
		return salida;
	
	}
		
}
